#ifndef __LXZ_TCPIP_CMD_H__
#define __LXZ_TCPIP_CMD_H__

#define LXZAT_SHLS_MAX_NUM 5

#define LXZAT_SHLS_INVALID_FD (~0)

#define LXZAT_SHLS_PDU_MODE     0
#define LXZAT_SHLS_TXT_MODE     1

#define LXZAT_SHLS_IPSTRING_MAX 16
#define LXZAT_SHLS_URLSTRING_MAX 255

#define LXZAT_SHLS_URCTIME_MIN 0
#define LXZAT_SHLS_URCTIME_DEF 0
#define LXZAT_SHLS_URCTIME_MAX (60*1000)

#define LXZAT_SHLS_URCREAD_MIN 1
#define LXZAT_SHLS_URCREAD_DEF 1024
#define LXZAT_SHLS_URCREAD_MAX 4096

#define LXZAT_SHLS_TRYREAD_MIN 1
#define LXZAT_SHLS_TRYREAD_MAX 4096
#define LXZAT_SHLS_TRYWRITE_MIN 1
#define LXZAT_SHLS_TRYWRITE_MAX 4096

typedef enum _LXZAT_SHLS_SOCKET_STATE_E
{
    E_SHLS_SOCKET_IDLE,
    E_SHLS_SOCKET_SET,
    E_SHLS_SOCKET_CONNECTING,
    E_SHLS_SOCKET_ACTIVE,
    E_SHLS_SOCKET_SENDING,
    E_SHLS_SOCKET_CLOSING
}LXZAT_SHLS_SOCKET_STATE_E;

typedef enum _LXZAT_SHLS_LINK_TYPE_E
{
    E_SHLS_LINK_IDLE,
    E_SHLS_LINK_UDP,
    E_SHLS_LINK_TCP,
    E_SHLS_LINK_TCPD,
    E_SHLS_LINK_MAX
}LXZAT_SHLS_LINK_TYPE_E;

typedef enum _LXZAT_SHLS_QUERY_TYPE_E
{
    E_SHLS_QUERY_STATUS,
    E_SHLS_QUERY_URCINFO,
    E_SHLS_QUERY_TCPSNDBUF,
    E_SHLS_QUERY_TCPSNDDATA,
    E_SHLS_QUERY_TCPSNDFREE,
    E_SHLS_QUERY_TCPRCVBUF,
    E_SHLS_QUERY_TCPRCVDATA,
    E_SHLS_QUERY_TCPRCVFREE,
    E_SHLS_QUERY_MAX
}LXZAT_SHLS_QUERY_TYPE_E;


#endif /* __LXZ_TCPIP_CMD_H__ */

